home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fatted Calf
/
The Fatted Calf.iso
/
Applications
/
Graphics
/
Pyramid
/
Source
/
matrix.h
< prev
next >
Wrap
C/C++ Source or Header
|
1993-09-15
|
1KB
|
60 lines
/* matrix.h - matrix algebra definitions
* Copyright (C) 1993 Corona Design, Inc. All rights reserved.
*
* Abstract
* Common algebraic manipulations of 4X4 matrices and vectors.
* Reference: Foley & van Dam, Computer Graphics
* Requires C++ compiler.
*
* $LOG
*/
#ifndef _MATRIX_H
#define _MATRIX_H
// a homogenous 3D vector
typedef struct _vector
{
float x;
float y;
float z;
float w;
//operations
float vectorLength();
// V = V X W
void crossProduct( struct _vector *);
// V = M * V
void matrixMultiply( struct _matrix *);
// V = V * k
void scalarMultiply( float k);
} VECTOR;
// 4 X 4 matrix
struct _matrix
{
float matrix[4][4];
// retrieve rotation vectors
struct _vector *getRx();
struct _vector *getRy();
struct _vector *getRz();
// A *= B
void matrixMultiply( struct _matrix *B);
};
// constant identity elements
extern VECTOR unitVector;
extern struct _matrix unitMatrix;
#ifdef _LOG
/*
* $Log: matrix.h,v $
* Revision 1.1 93/09/15 12:33:57 pkron
* Created
*
*/
#endif
#endif // MATRIX_H